/**
 * 获取当前页面的高度，让iframe通过内容来调整高度
 * @returns
 */
function getDocumentHeight() {
    return $('body').height();
}

$(function () {

    //初始化个人CDA信息表格
    initPersionCDATable(true);


    //查询按钮点击事件
    $('#searchBtn').click(searchBtnClickHandler);
});

/*
 * 初始化个人健康档案信息表
 */
function initPersionCDATable(isInit) {
    //机构编码
    var JGBM = $('#searchJGBM').val();

    //证件号码
    var ZJHM = $('#searchZJHM').val();

    //姓名
    var XM = $('#searchXM').val();

    //文档类型
    //var WDLX = "";

    //WDLX = $('#searchWDLX option:selected').val();


    var urlParam = '../../IHEController/getResgisterPersion?JGBM=' + JGBM + '&ZJHM=' + ZJHM + '&XM=' + XM;

    if (!isInit) {
        $('#grjkdaxx').bootstrapTable('refresh', {url: urlParam});

    } else {
        var sk = $("#grjkdaxx").bootstrapTable('destroy').bootstrapTable({
            url: urlParam,
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sidePagination: "server", 			//分页方式：client客户端分页，server服务端分页（*）
            pageSize: 25,
            pageList: [25, 50, 100, 500],
            sortable: false,                    //是否启用排序
            sortOrder: "asc",                   //排序方式
            //rowStyle:rowStyle,
            height: 600,
            queryParams: function (params) {
                //可自定义增加参数
                return {
                    pageNumber: params.offset / params.limit + 1,
                    pageSize: params.limit
                };
            },

            //传递参数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            showFooter: false,
            strictSearch: true,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,              //最少允许的列数
            clickToSelect: true,                 //是否启用点击选中行
            showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                     //是否显示详细视图
            detailView: true,                   //是否显示父子表
            columns: [{
                field: 'JGMC',
                title: '医疗机构名称',
                align: 'center',
                halign: 'center',
                valign: 'middle',
            }, {
                field: 'ZJHM',
                title: '身份证号码',
                align: 'center',
                halign: 'center',
                valign: 'middle',
            }, {
                field: 'XM',
                title: '姓名',
                align: 'center',
                halign: 'center',
                valign: 'middle',
            }, {
                field: 'WDSL',
                title: '健康文档数量',
                align: 'center',
                halign: 'center',
                valign: 'middle',
            }, {
                field: 'operate',
                title: '操作',
                align: 'center',
                events: operateEvents,
                formatter: operateParentFormatter
            }
            ],
            onClickRow: function (row, element, field) {
                $('.info').removeClass('info');  //去除之前选中的行的，选中样式
                $(element).addClass('info');     //添加当前选中的 success样式用于区别
            },

            //注册加载子表的事件。注意下这里的三个参数！
            onExpandRow: function (index, row, $detail) {


                initPersionCDAInfoTable(index, row, $detail);
                //oInit.InitSubTable(index, row, $detail);
            },
            onLoadSuccess: function () { //加载成功时执行 

                $('.wrapper').height($("#rowTable").height() + 200);
                parent.setIframeHeight('frameContext');
            }
        });

    }
}

/*
 * 加载个人CDA文档列表
 */
function initPersionCDAInfoTable(index, row, $detail) {


    //标识号
    var ID = row.GJPTBSH;

    //文档类型
    var WDLX = $('#searchWDLX option:selected').val();

    var cur_table = $detail.html('<table id="childrenTable" class="table table-bordered" style="padding-left:10px;padding-right:10px;"></table>').find('table');

    var urlParam = '../../IHEController/getPersionCDAInfo?ID=' + ID;

    $.ajax({
        type: "GET",
        dataType: "json",
        url: urlParam,
        success: function (jsonData) {
            $(cur_table).bootstrapTable({
                data: jsonData.DATA,
                height: 'auto',
                //传递参数（*）
                clickToSelect: true,                 //是否启用点击选中行
                columns: [{
                    field: 'TITLE',
                    title: '文档类型',
                    align: 'center',
                    halign: 'center',
                    valign: 'middle',
                }, {
                    field: 'RESPONSESTATUS',
                    title: '上传状态',
                    align: 'center',
                    halign: 'center',
                    valign: 'middle',
                }, {
                    field: 'YZJG',
                    title: '验证结果',
                    align: 'center',
                    halign: 'center',
                    valign: 'middle',
                }, {
                    field: 'CREATETIME',
                    title: '创建时间',
                    align: 'center',
                    halign: 'center',
                    valign: 'middle',
                }, {
                    field: 'operate',
                    title: '操作',
                    align: 'center',
                    events: operateEvents,
                    formatter: operateFormatter
                }

                ],
                onClickRow: function (row, element, field) {
                    $('.info').removeClass('info');  //去除之前选中的行的，选中样式
                    $(element).addClass('info');     //添加当前选中的 success样式用于区别
                },

            });
        }
    });


}

/*
 * 子表操作按钮初始化
 */
function operateFormatter(value, row, index) {
    if (row.RESPONSESTATUS == "未上传") {
        return [
            '<button type="button" class="JKDAUpload btn btn-default  btn-sm" style="border:0px;background-color:transparent;"><i class="glyphicon glyphicon-arrow-up table-upload-icon" style="">上传</i></button>',
            '<button type="button" class="JKDADC btn btn-default  btn-sm" style="border:0px;background-color:transparent;"><i class="glyphicon glyphicon-save table-download-icon" style="">导出</i></button>',
            '<button type="button" class="JKDAShow btn btn-default  btn-sm" style="border:0px;background-color:transparent;"><i class="glyphicon glyphicon-search table-update-icon" style="">查看</i></button>'

        ].join('');

    } else {
        return [
            '<button type="button" class="JKDADC btn btn-default  btn-sm" style="border:0px;background-color:transparent;"><i class="glyphicon glyphicon-save table-download-icon" style="">导出</i></button>',
            '<button type="button" class="JKDAShow btn btn-default  btn-sm" style="border:0px;background-color:transparent;"><i class="glyphicon glyphicon-search table-update-icon" style="">查看</i></button>'

        ].join('');
    }
}

/*
 * 父表操作按钮初始化
 */
function operateParentFormatter(value, row, index) {
    return [
        '<button type="button" class="createCDA btn btn-default  btn-sm" style="border:0px;background-color:transparent;"><i class="glyphicon glyphicon-plus table-add-icon" style="">生成CDA文档</i></button>'
    ].join('');
}

/**
 * 操作按钮点击事件
 */
window.operateEvents = {
    'click .JKDAUpload': function (e, value, row, index) {

        //上传一份健康档案
        uploadCDA(row.ID);

    },

    'click .createCDA': function (e, value, row, index) {
        createCDA(row);
    },
    'click .JKDADC': function (e, value, row, index) {
        downLoadCDA(row);
    },
    'click .JKDAShow': function (e, value, row, index) {

        //显示一份CDA详细信息
        showCDA(row);
    }
};


/*
 * 显示一份CDA的详细信息
 */
function showCDA(row) {

    var index = parent.layer.load();
    var urlParam = '../../IHEController/getCDAInfoByID?lsh=' + row.ID;
    $.ajax({
        type: "GET",
        dataType: "json",
        url: urlParam,
        success: function (jsonData) {

            parent.layer.close(index);
            var contentStr = "<div class='icon_lists clear' style='height:100%; padding-left: 15px; padding-right: 15px; padding-top:10px; padding-bottom: 15px;'>" +
                "<div class='row'>" +
                "<div class='col-sm-12' style='padding-top:10px;'>" +
                "<label class='control-label col-sm-2' style='text-align:right;'>医疗机构代码：</label>" +
                "<label class=' control-label col-sm-4' style='text-align:left;'>" + jsonData.OID + "</label>" +

                "<label class='control-label col-sm-2' style='text-align:right;'>医疗机构名称：</label>" +
                "<label class='control-label col-sm-4' style='text-align:left;'>" + jsonData.ONAME + "</label>" +
                "</div>" +

                "<div class='col-sm-12' style='padding-top:10px;'>" +
                "<label class='control-label col-sm-2' style='text-align:right;'>证件号码：</label>" +
                "<label class=' control-label col-sm-4' style='text-align:left;'>" + jsonData.IDENTITYID + "</label>" +

                "<label class='control-label col-sm-2' style='text-align:right;'>患者姓名：</label>" +
                "<label class='control-label col-sm-4' style='text-align:left;'>" + jsonData.SOURCEPATIENTNAME + "</label>" +
                "</div>" +

                "<div class='col-sm-12' style='padding-top:10px;'>" +
                "<label class='control-label col-sm-2' style='text-align:right;'>创建时间：</label>" +
                "<label class=' control-label col-sm-4' style='text-align:left;'>" + jsonData.CREATETIME + "</label>" +

                "<label class='control-label col-sm-2' style='text-align:right;'>文档类型：</label>" +
                "<label class='control-label col-sm-4' style='text-align:left;'>" + jsonData.TITLE + "</label>" +
                "</div>" +

                "<div class='col-sm-12' style='padding-top:10px;'>" +
                "<label class='control-label col-sm-2' style='text-align:right;'>文档验证：</label>" +
                "<textarea class='col-sm-10' rows='9'>验证结果：" + jsonData.YZJG + ",验证结果说明：" + jsonData.YZJGSM + "</textarea>" +
                "</div>" +


                "<div class='col-sm-12' style='padding-top:10px;'>" +
                "<label class='control-label col-sm-2' style='text-align:right;'>文档上传：</label>" +
                "<textarea class='col-sm-10' rows='9'>上传结果：" + jsonData.RESPONSESTATUS + ",上传结果说明：" + jsonData.RESPONSEDETAIL + "</textarea>" +
                "</div>" +
                "</div>" +
                "</div>";


            //弹出层-信息页面
            parent.layer.open({
                type: 1,
                title: '健康档案信息',
                area: ['850px', '550px'],
                shadeClose: false, //点击遮罩关闭
                scrollbar: false,//禁止浏览器滚动
                maxmin: false,
                content: contentStr
            });
        }
    });
}


/*
 * 下载一份CDA文档
 */
function downLoadCDA(row) {

    var loadIndex = parent.layer.load();

    //国家平台标识号
    var ID = row.ID;

    var form = $("<form>");//定义一个form表单
    form.attr("style", "display:none");
    form.attr("target", "");
    form.attr("method", "post");
    form.attr("action", "../../IHEController/downLoadCDA");
    var input1 = $("<input>");
    input1.attr("type", "hidden");
    input1.attr("name", "ID");
    input1.attr("value", ID);
    $("body").append(form);//将表单放置在web中
    form.append(input1);

    form.submit();//表单提交 

    parent.layer.close(loadIndex);
}

/*
 * 根据用户生成一份CDA文档
 */
function createCDA(row) {
    var JBXXBSH = row.JBXXBSH;

    var contentStr = "<div class='icon_lists clear' style='height:100%; padding-left: 15px; padding-right: 15px; padding-top:10px; padding-bottom: 15px;'>" +
        "<form role='form' class='form form-horizontal'>" +
        "<div class='row'>" +
        "<label class='col-sm-4 control-label'>请选择文档类型：</label>" +
        "<div class='col-sm-8'>" +
        "<select class='form-control  nav-mysearchSelect' id='layero_select_WDLX' style=''>" +
        "<option value='01' selected='selected'>个人基本健康信息</option>" +
        "<option value='02'>2型糖尿病随访记录</option>" +
        "<option value='03'>成人健康体检</option>" +
        "<option value='04'>儿童健康检查</option>" +
        "<option value='05'>新生儿家庭访视</option>" +
        "</select>" +
        "</div>" +
        "</div>" +
        "</form>" +
        "</div>";


    //弹出层-信息页面
    var index = parent.layer.open({
        type: 1,
        title: '生成一份CDA文档',
        area: ['400px', '150px'],
        shadeClose: false, //点击遮罩关闭
        scrollbar: false,//禁止浏览器滚动
        maxmin: false,
        content: contentStr,
        btn: ['生成']
        , yes: function (index, layero) {


            var loadIndex = parent.layer.load();

            var WDLX = layero.find("#layero_select_WDLX option:selected").val();

            var urlParam = '../../IHEController/createCDAByPersion?ID=' + JBXXBSH + '&WDLX=' + WDLX;

            parent.layer.close(index);

            $.ajax({
                type: "GET",
                dataType: "json",
                url: urlParam,
                success: function (jsonData) {

                    parent.layer.close(loadIndex);

                    if (jsonData != null) {
                        if (jsonData.RESULT == 'OK') {
                            alertWin('生成CDA文档成功，' + jsonData.MSG, 1);

                            //刷新表格
                            initPersionCDATable(false);
                        } else {
                            alertWin('生成CDA文档失败，错误原因：' + jsonData.MSG, 2);

                        }

                    }
                }
            });
        }
    });
}


/**
 * 消息提示框
 * @param content显示内容
 * @param type 提示框类型 1.普通提示框 2.警告框
 */
function alertWin(content, type) {
    parent.layer.alert(content, {icon: type});
}

/*
 * 查询按钮点击事件
 */
function searchBtnClickHandler() {
    initPersionCDATable(false);

}

/*
 * 上传一份健康档案
 */
function uploadCDA(ID) {
    var contentStr = "";
    var index = parent.layer.load();

    var urlParam = '../../IHEController/uploadJKDA?ID=' + ID;
    $.ajax({
        type: "GET",
        dataType: "json",
        url: urlParam,
        beforeSend: function () {

        },
        success: function (jsonData) {

            parent.layer.close(index);

            if (jsonData != null) {
                if (jsonData.RS == "TRUE") {
                    alertWin('上传成功！', 1);


                } else {
                    alertWin('上传失败！' + jsonData.INFO, 2);
                }

                //刷新表格
                initPersionCDATable(false);
            }

        }

    });
}